Computer virtualization is a technique that involves encapsulating a computing machine platform into a virtual machine (VM) that is executed under the control of virtualization software running on a single hardware computing platform (also referred to herein as “host server” or “host”). A group of hardware computing platforms may be organized as a cluster to provide resources for VMs. In a data center, it is common to see hundreds, even thousands, of VMs running on multiple clusters of host servers.
An administrator may use virtualization management software to manage virtual machine configurations and computing resource allocations. Because of the large number of VMs managed within some data centers, and sometimes, across multiple data centers, some of the administrator's tasks are automated. For example, software techniques, such as adaptive resource scheduling and adaptive power management, have been developed to assist the administrator in balancing workloads across host servers and powering host servers on and off as needed.
One feature of the virtualized computing environment controlled by the virtualization management software is virtual networking. VMs can be created with software-based virtual network adapters that are logically connected to physical network adapters installed in the host computer. The virtual network adapters are connected to the physical network adapters through software-based virtual switches. One way to manage virtual network connections in data centers with a large number of VMs running on multiple host servers (i.e., host servers) is via a “distributed virtual switch” (DVSwitch) described in US 2009/0292858, incorporated in its entirety herein by reference. DVSwitches permit users to manage virtual switches on multiple host servers as if the ports of those virtual switches belonged to a single switch. Further, DVSwitches persist port runtime states across host servers.
DVSwitches have components residing in both host servers hosting VMs and a management server running virtual management software. Communication between the host servers and the management server can become a bottleneck as the scale of the DVSwitch increases, either in terms of the number of virtual ports in the DVSwitch or in terms of the number of host servers that joined the DVSwitch. In particular, switch configuration changes in the DVSwitch management plane may need to be propagated to a large number of host servers, which impacts the latency of operations. The volume of port runtime data being transmitted between the large number of host servers and the management server and processed by the management server may also negatively affect the performance of the management server and/or the network. That is, increases in the number of host servers, and virtual ports, result in a proportionately large amount of port configuration and runtime state data that must be sent over the network from the management server to the host servers, and vice versa.